commonlibsse_ng\re\e/
ExtraUniqueID.rs1use crate::re::BSCoreTypes::FormID;
2use crate::re::BSExtraData::{BSExtraData, BSExtraDataVtbl, DerivedBSExtraData};
3use crate::re::ExtraDataType::ExtraDataType;
4use crate::re::offsets_rtti::RTTI_ExtraUniqueID;
5use crate::re::offsets_vtable::VTABLE_ExtraUniqueID;
6use crate::rel::id::VariantID;
7
8#[repr(C)]
9#[derive(Debug, PartialEq)]
10pub struct ExtraUniqueID {
11 pub __base: BSExtraData,
12 pub baseID: FormID,
13 pub uniqueID: u16,
14 pub pad16: u16,
15}
16
17const _: () = {
18 assert!(core::mem::offset_of!(ExtraUniqueID, __base) == 0x0);
19 assert!(core::mem::offset_of!(ExtraUniqueID, baseID) == 0x10);
20 assert!(core::mem::offset_of!(ExtraUniqueID, uniqueID) == 0x14);
21 assert!(core::mem::offset_of!(ExtraUniqueID, pad16) == 0x16);
22 assert!(core::mem::size_of::<ExtraUniqueID>() == 0x18);
23};
24
25impl DerivedBSExtraData for ExtraUniqueID {
26 #[inline]
27 fn get_extra_data(&self) -> &BSExtraData {
28 &self.__base
29 }
30
31 #[inline]
32 fn get_extra_data_type() -> ExtraDataType {
33 Self::EXTRA_DATA_TYPE
34 }
35}
36
37impl ExtraUniqueID {
38 pub const RTTI: VariantID = RTTI_ExtraUniqueID;
40
41 pub const VTABLE: [VariantID; 1] = VTABLE_ExtraUniqueID;
43
44 pub const EXTRA_DATA_TYPE: ExtraDataType = ExtraDataType::UniqueID;
46
47 #[inline]
49 pub const fn get_type(&self) -> ExtraDataType {
50 ExtraDataType::UniqueID
51 }
52}
53
54#[repr(C)]
58pub struct ExtraUniqueIDVtbl {
59 pub __base: BSExtraDataVtbl,
60}